package ae.pcfc.etks.online.wf.service.client;

import java.util.List;

import ae.pcfc.etks.online.common.exception.WFException;
import ae.pcfc.etks.online.wf.service.client.vo.ActiveTaskVO;
import ae.pcfc.etks.online.wf.service.client.vo.CompleteStepVO;
import ae.pcfc.etks.online.wf.service.client.vo.LaunchIncidentVO;
import ae.pcfc.etks.online.wf.service.client.vo.TaskInformationVO;
import ae.pcfc.etks.online.wf.service.client.vo.WFBaseVO;

public interface BaseWF {

	<T extends LaunchIncidentVO> Integer launchIncident(T incidentVO) throws WFException;
	<T extends WFBaseVO> List<ActiveTaskVO> getActiveTasks(T wfBaseVO) throws WFException;	
	<T extends CompleteStepVO> void completeStep(T incidentVO) throws WFException;
	<T extends CompleteStepVO> void abortIncident(T completeStepVO);
	TaskInformationVO getTaskInformation(String userName, Integer incedentNo);
}
